$(document).ready(function(){
    $('#re-captcha').click(function(event) {
        event.preventDefault();
        reloadCaptcha();
    });

    var reloadCaptcha = function () {
        var rand = Math.random();
        var url = $('#re-captcha').attr('href') + '/' + rand;
        $('#captcha').attr('src', url);
    };

    var $username = $('#username');
    var $t_captcha = $('#t-captcha');
    var emptyRegex = /^$/;
    var captchaRegex = /^[a-z]{5}$/

    $('#forgot-password-form').submit(function(event) {
        event.preventDefault();
        if (emptyRegex.test($username.val())) {
            jModal.open({
                content: 'Vui lòng nhập tên đăng nhập của tài khoản cần nhận mật khẩu mới!',
                title: 'Lỗi',
                type: 'error',
                on_close: function() {
                    $username.focus();
                }
            });
        } else if (!captchaRegex.test($t_captcha.val())){
            jModal.open({
                content: 'Vui lòng nhập các ký tự trong hình, nếu khó khăn bạn có thể click liên kết đổi hình bên cạnh!',
                title: 'Lỗi captcha',
                type: 'error',
                on_close: function() {
                    $t_captcha.focus();
                }
            })
        } else {
            var ajax_call_completed = false;
            var ajax_handle = $.post($(this).attr('action'), {
                user: $username.val(),
                captcha: $t_captcha.val()
            }, function(data) {
                ajax_call_completed = true;
                if (data['code'] == 0) {
                    jModal.close();
                    $('#recover-email').empty().text(data['email']);
                    $('#step-1').fadeOut(400, function() {
                        $('#successful').fadeIn(400);
                    });
                } else {
                    jModal.open({
                        content: data['msg'],
                        title: 'Lỗi',
                        type: 'error',
                        on_close: reloadCaptcha
                    });
                }
            }, 'json');

            ajax_call_completed || jModal.open({
                content: 'Đang thực hiện thao tác, xin vui lòng đợi giây lát',
                loading: true,
                title: 'Phục hồi mật khẩu',
                on_cancel: function() {
                    ajax_handle.abort();
                }
            });
        }
    })
});